package cn.kgc.springboot.day02.service.impl;

import cn.kgc.springboot.day02.entity.User;
import cn.kgc.springboot.day02.mapper.UserMapper;
import cn.kgc.springboot.day02.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author 课工场
 * @date 2024/3/19
 * @description  如何通过日志打印  实现数据调试
 *  1.获取打印日志的对象    lombok  @Slf4j注解
 *  2. 通过log对象调用不同的api实现不同级别的日志打印
 *     常见日志输出级别
 *       debug < info < warn < error
 *         log.debug("debug=");
 *         log.info("info=");
 *         log.warn("warn=");
 *         log.error("error=");
 *      设置级低级别的日志  高级别的会被输出  设置高级别日志  低级别不会输出
 */
@Service
@Slf4j
public class UserServiceImpl implements UserService {

    @Resource
    private UserMapper userMapper;

    @Override
    public Map<String, Object> getList() {
        List<User> users =  userMapper.selectList();

        // 通过System.out::println 打印  不灵活
        //users.stream().forEach(System.out::println);

        // 项目的调试 推荐使用日志打印方式输出相关信息   灵活
        users.stream().forEach(user -> log.debug("user={}",user));
        HashMap<String, Object> result = new HashMap<>();
        result.put("code",200);
        result.put("data",users);
        return result;
    }
}
